package com.rc.pojo.po.table;

import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.table.TableDef;

// Auto generate by mybatis-flex, do not modify it.
public class AdoptionInfoTableDef extends TableDef {

    /**
     * 实体类。

 @author 27806
 @since 2024-06-16
     */
    public static final AdoptionInfoTableDef ADOPTION_INFO = new AdoptionInfoTableDef();

    public final QueryColumn CON_ID = new QueryColumn(this, "con_id");

    public final QueryColumn COVER = new QueryColumn(this, "cover");

    public final QueryColumn PHONE = new QueryColumn(this, "phone");

    public final QueryColumn PRICE = new QueryColumn(this, "price");

    public final QueryColumn ADDRESS = new QueryColumn(this, "address");

    public final QueryColumn CONTACT = new QueryColumn(this, "contact");

    public final QueryColumn ORDER_ID = new QueryColumn(this, "order_id");

    public final QueryColumn ADOPTING = new QueryColumn(this, "adopting");

    public final QueryColumn TREE_NAME = new QueryColumn(this, "tree_name");

    public final QueryColumn CREATE_TIME = new QueryColumn(this, "create_time");

    public final QueryColumn UPDATE_TIME = new QueryColumn(this, "update_time");

    public final QueryColumn PLANT_ITEM_ID = new QueryColumn(this, "plant_item_id");

    public final QueryColumn TREE_ADDRESS = new QueryColumn(this, "tree_address");

    public final QueryColumn DELIVERY_CYCLE = new QueryColumn(this, "delivery_cycle");

    /**
     * 所有字段。
     */
    public final QueryColumn ALL_COLUMNS = new QueryColumn(this, "*");

    /**
     * 默认字段，不包含逻辑删除或者 large 等字段。
     */
    public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{CON_ID, COVER, PHONE, PRICE, ADDRESS, CONTACT, ORDER_ID, ADOPTING, TREE_NAME, CREATE_TIME, UPDATE_TIME, PLANT_ITEM_ID, TREE_ADDRESS, DELIVERY_CYCLE};

    public AdoptionInfoTableDef() {
        super("rc", "adoption_info");
    }

    private AdoptionInfoTableDef(String schema, String name, String alisa) {
        super(schema, name, alisa);
    }

    public AdoptionInfoTableDef as(String alias) {
        String key = getNameWithSchema() + "." + alias;
        return getCache(key, k -> new AdoptionInfoTableDef("rc", "adoption_info", alias));
    }

}
